package com.xxl.job.executor.enums;

/**
 * <p>
 * 响应状态码定义
 * </p>
 * created by: Hehj
 * date: 2019/3/10
 */
public enum StatusCodeEnum {
    SUCCESS(200, "请求成功接收并处理"),
    CREATED(201, "请求完成，一个或多个资源被创建"),
    ACCEPTED(202, "表示一个请求已经进入后台排队（异步任务）"),
    NO_CONTENT(204, "（无内容）请求处理成功，但是没有返回数据，可以代表删除数据成功"),
    PART_CONTENT(206, "（部分内容）服务器成功处理了部分 GET 请求"),
    MANAY_CHOOSE(300, "（多种选择）针对请求，服务器可执行多种操作"),
    MOVE_FOREVER(301, "（永久移动）请求的网页已永久移动到新位置"),
    MOVE_EXTRA(302, "（临时移动） 服务器目前从不同位置的网页响应请求，但请求者应继续使用原有位置来进行以后的请求"),
    LOOK_OTHER(303, "（查看其他位置）请求者应当对不同的位置使用单独的 GET 请求来检索响应时，服务器返回此代码"),
    NOT_EDIT(304, "（未修改）自从上次请求后，请求的网页未修改过。服务器返回此响应时，不会返回网页内容"),
    USE_PROXY(305, "（使用代理）请求者只能使用代理访问请求的网页。如果服务器返回此响应，还表示请求者应使用代理"),
    EXTRA_REDIRECT(307, "（临时重定向）服务器目前从不同位置的网页响应请求，但请求者应继续使用原有位置来进行以后的请求"),
    INVALID_REQUEST(400, "请求有错误（请求语法错误、body 数据格式有误、或者body缺少必须的字段等），导致服务端无法处理"),
    UNAUTHORIZED(401, "请求的资源需要认证，客户端没有提供认证信息或者认证信息不正确（令牌、用户名、密码错误）"),
    FORBIDDEN(403, "用户得到授权（与401错误相对），但是权限不足，访问是被禁止的"),
    NOT_FOUND(404, "请求的资源未找到"),
    FORBID(405, "（方法禁用） 禁用请求中指定的方法"),
    REJECT(406, "（不接受） 无法使用请求的内容特性响应请求的网页"),
    AUTHORIZE(407, "（需要代理授权） 此状态代码与 401（未授权）类似，但指定请求者应当授权使用代"),
    OVERTIME(408, "（请求超时） 服务器等候请求时发生超时"),
    CLASH(409, "（冲突） 服务器在完成请求时发生冲突"),
    GONE(410, "请求的资源被永久删除，且不会再得到"),
    NEED_VALIDLEN(411, "（需要有效长度） 服务器不接受不含有效内容长度标头字段的请求"),
    NOT_PRECONDITION(412, "（未满足前提条件） 服务器未满足请求者在请求中设置的其中一个前提条件"),
    ENTITY_TOOBIG(413, "（请求实体过大） 服务器无法处理请求，因为请求实体过大，超出服务器的处理能力"),
    URI_TOOLONG(414, "（请求的 URI 过长） 请求的 URI（通常为网址）过长，服务器无法处理"),
    UNSUPPORTED_MEDIA_TYPE(415, "请求的格式不可得"),
    SCOPE_UNCOMFORM(416, "（请求范围不符合要求） 如果页面无法提供请求的范围，则服务器会返回此状态代码"),
    HOPE_UNCOMFORM(417, "未满足期望值） 服务器未满足期望请求标头字段的要求"),
    TOO_MANY_REQUEST(429, "请求过多"),
    INTERNAL_SERVER_ERROR(500, "服务器内部错误，导致无法完成请求的内容"),
    ERROR_GATEWAY(502, "（错误网关） 服务器作为网关或代理，从上游服务器收到无效响应"),
    SERVICE_NOTUSE(503, "（服务不可用） 服务器目前无法使用（由于超载或停机维护）"),
    OVERTIME_GATEWAY(504, "（网关超时） 服务器作为网关或代理，但是没有及时从上游服务器收到请求"),
    VERSION_UNSUPPORT(505, "（HTTP 版本不受支持） 服务器不支持请求中所用的 HTTP 协议版本"),
    SYS_OPR_ERR(700, "系统操作异常"),
    FILE_OPR_ERR(701,"文件操作异常"),
    MD5_CREATE_ERR(702,"生成文件md5异常"),
	

    REQ_FILE_NOT_EXIST(703,"请求文件不存在"),
    UPLOAD_CONTENT_ERR(704,"上传内容出错"),
    UPLOAD_CONTENT_BLANK(705,"上传内容空"),
    GET_PROPERTIE_ERR(706,"获取配置信息出错"),
    DB_DATA_ERR(707,"数据表中数据出错"),
    BUSINESS_DEAL_ERR(708,"业务处理异常"),
    PARAM_NOT_ALL(709,"最新参数不全"),
    DB_INSERT_ERR(710, "数据插入异常"),
    DB_SQL_ERR(711, "SqlException异常"),
    FILE_MAX_NUM_EXCEED(712,"文件内容超过最大数100"),
    DB_BATCH_ERR(713,"批量插入异常"),
    PARAM_FILE_NOT_EXIST(714,"参数文件不存在"),
    DATA_DB_ERR(715,"数据库操作异常无明细"),
    PARAM_SET_ERR(716,"参数设置异常"),
    DB_OPR_ERR(740, "数据库操作异常"),
    DB_DUPLICATE_ERR(742, "重复"),

    NOT_SUPPORT_FILE(945,"不支持此类文件"),
    RES_FILE_NOT_EXIST(946,"响应文件不存在"),
    DATA_FORMAT_ERR(947,"请求数据格式错误"),
    FILE_FORMAT_ERR(948,"请求文件名格式不正确"),
    NOT_DEFINE_FILE(949,"协议中未定义此类文件名"),
    AUTH_ERR(950,"鉴权失败"),
    MD5_VALID_ERR(951,"文件md5校验失败"),
    FORMAT_VALID_ERR(952,"格式校验失败"),
    FILE_NULL( 953,"请求文件为空"),
    ERR_UNKOWN(999,"未知错误");

    private int code;

    private String message;

    private StatusCodeEnum(int code, String message) {
        this.setCode(code);
        this.setMessage(message);
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }


}
